package com.jzo2o.xxl.job.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.Executor;

/**
 * XXL-Job 配置属性类（映射application配置文件中xxl-job前缀的配置）
 */
@Data
@ConfigurationProperties(prefix = "xxl-job")
@Configuration
public class XxlJobProperties {

    private String accessToken; // 调度中心与执行器通信令牌
    private Admin admin; // 调度中心配置
    private Executor executor; // 执行器配置

    /**
     * XXL-Job 调度中心配置
     */
    @Data
    public static class Admin {
        private String address; // 地址
    }

    /**
     * XXL-Job 执行器配置
     */
    @Data
    public static class Executor {
        private String appName; // 应用名称
        private String ip; // ip
        private Integer port; // 端口
        private String logPath; // 日志路径
        private Integer logRetentionDays; // 日志保留天数

    }
}
